<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Modelo para acceder a la tabla de temáticas.
 */
class Tematicas_Model extends CI_Model {
    function __construct() {
        parent::__construct();
    }
    
    /**
     * Función que devuelve la tabla temáticas como un array con la forma:
     * 
     *  $ejemplo[0]['idTematica'] = 1
     *  $ejemplo[0]['descripcion'] = "Informática"
     *  $ejemplo[1]['idTematica'] = 2
     *  $ejemplo[1]['descripcion'] = "Administración"
     * 
     * @return array 
     */
    function get_tematicas(){
        $sql="SELECT * FROM Tematicas";
        $resultado=$this->db->query($sql);
        
        return $resultado->result_array();
    }
    
    /**
     * Función que devuelve la tabla de temáticas en un array con la forma:
     * $ejemplo['id']='descripcion'
     * @return array
     */
    function  get_tematicas_ordenadas_por_id(){
        $resultado=$this->get_tematicas();
        $resultadoReordenado = array();
        foreach ($resultado as $elemento) {
            $resultadoReordenado[$elemento['idTematica']]=$elemento['descripcion'];
        }
        
        return $resultadoReordenado;
    }
    
    /**
     * Función que devuelve una temática específica buscada por $id ingresado como parámetro.
     * Devuelve un array de la forma:
     * 
     * $ejemplo['idTematica'] = 1
     * $ejemplo['descripcion'] = 'Informática'
     * 
     * @param integer $id
     * @return array 
     */  
    function get_tematica($id){
        $sql="SELECT * FROM Tematicas WHERE idTematica=$id";
        $resultado = $this->db->query($sql);
        
        $resultado = $resultado->result_array();
        
        return $resultado[0];
    }


    /**
     *  Función que inserta una nueva temática en la base de datos.
     * 
     * @param string $descripcion
     */
    function insertar_tematica($descripcion){
        $sql="INSERT INTO Tematicas (descripcion)
                VALUES ('$descripcion')";
        $this->db->query($sql);
    }
    
    /**
     *  Función que actualiza una temática en la base de datos.
     *  Ingresan como parámetros el $id para buscar y la descripción para actualizar.
     * 
     * @param integer $id
     * @param string $descripcion
     */
    function actualizar_tematica($id, $descripcion){
        $sql = "UPDATE Tematicas 
            SET descripcion='$descripcion'
            WHERE idTematica=$id";
        
        $this->db->query($sql);
    }
}

/* End of file personas_model.php */
/* Location: ./application/models/personas_model.php */